The command CALCulate<Ch>:DATA:NSWeep? SDATa, <Trace_Hist_Count> retrieves the results of any sweep within a previously defined single sweep group. This means that, in single sweep mode, you can first measure a specified number of sweeps (SENSe<Ch>:SWEep:COUNt <sweeps>) and then read any of the data traces acquired.
This feature has no equivalent in manual control where always the last data trace is displayed.
// Reset the analyzer
*RST
:SYSTEM:DISPLAY:UPDATE ON
// Create a second channel with a second trace.
:CALCULATE2:PARAMETER:SDEFINE "Trc2","S11"
:CALCULATE2:PARAMETER:SELECT "Trc2"
:DISPLAY:WINDOW2:STATE ON
:DISPLAY:WINDOW2:TRACE1:FEED 'Trc2'
// Select active trace for the created channel 2. Adjust the number of sweep points.
:CALCULATE2:PARAMETER:SELECT "Trc2"
:SENSE1:SWEEP:POINTS 3
:SENSE2:SWEEP:POINTS 4
// Set sweep time and sweep count for the channels
// (3 traces per single sweep in channel 1, 4 traces in channel 2)
:SENSE1:SWEEP:TIME 1 S
:SENSE2:SWEEP:TIME 1 S
:SENSE1:SWEEP:COUNT 3
:SENSE2:SWEEP:COUNT 4
// State that INITIATE<Ch>:IMMEDIATE will start a single sweep for the
// referenced channel <Ch> only, not for all channels
:INITIATE:IMMEDIATE:SCOPE SINGLE
// Select single sweep mode and measure a single sweep group for channels no. 1 and 2
:INITIATE:IMMEDIATE:SCOPE SINGLE
:INITIATE1:IMMEDIATE; *WAI
:INITIATE2:IMMEDIATE; *WAI
// Read trace data (without history, i.e. the last trace acquired in each channel)
:CALCULATE1:DATA? SDATA
:CALCULATE2:DATA? SDATA
// Read last and previous trace data in channel 1 and 2
:CALCULATE1:DATA:NSWEEP? SDATA, 1 // last trace data
:CALCULATE1:DATA:NSWEEP? SDATA, 3 // previous trace data
:CALCULATE2:DATA:NSWEEP? SDATA, 1 // last trace data
:CALCULATE2:DATA:NSWEEP? SDATA, 4 // previous trace data